import axios from "axios"
import { Loading } from 'element-ui';

// 封装自定义axios实例
const serve = axios.create({
    // 设置基地址
    baseURL:'https://www.fastmock.site',
})



let loadingInstance
// 请求拦截器
serve.interceptors.request.use(function (config) {

    console.log('请求头',config.headers);
    // 请求头中接收参数 是否加载遮罩层弹窗()
    const isLoading = config.headers.isLoading
    // isLoading存在 则开启遮罩层弹窗
    isLoading ? loadingInstance = Loading.service({ fullscreen: true }) : null

    // console.log('开启弹窗',loadingInstance);
    
    return config;
}, function (error) {
    return Promise.reject(error);
});
// 响应拦截器
serve.interceptors.response.use(function (response) {

    
    // 如果响应过快需要将浏览器Network里网络设置成3G，才能看到加载效果
    // 关闭遮罩层弹窗（如果有）  
    loadingInstance && loadingInstance.close(); 

    console.log('减少复杂度之前的响应数据',response);

    // 优化响应数据格式，减少复杂度
    return {
        code: response.data.code,
        message: response.data.message,
        data: response.data.data,
    }
}, function (error) {
    return Promise.reject(error);
});

export default serve
